#!/usr/bin/python3.8.9
# -*- coding: utf-8 -*-

# @Author  : Tina Yu
# @Time    : 2022-5-3 16:35
import uuid

import jsonpath
import requests

from homework.task_api.utils_api.api_log_util import logger


class BaseApi:
    BaseUrl = 'https://qyapi.weixin.qq.com/cgi-bin'

    def send(self, method: str, url: str, **kwargs):
        """
        封装发送的方法，方便后续将requests方式更换成其他
        :param method: String
        :param url: String
        :param kwargs:
        :return:
        """
        url = self.BaseUrl + url
        logger.info(f"接口请求操作，请求的url为：{url}")
        logger.info(f"接口请求操作，请求的参数为：{kwargs}")
        logger.info(f"接口请求操作，请求的params为：{kwargs.get('params')}")

        res = requests.request(method=method, url=url, **kwargs)
        logger.info(f"接口请求后，返回的参数为：{res.text}")

        return res

    def get_union_id(self):
        """获取创建时的uuid"""
        return str(uuid.uuid4()).split("-")[0]

    def my_jsonpath(self, json_obj, exp):
        """封装自己的jsonpath，便于断言"""
        return jsonpath.jsonpath(json_obj, exp)
